import java.sql.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //m1();
        //m2();
          // m3();
        // m4();
        m5();
    }
    //键盘录入
    private static void m1() {
        Connection root=null;
        PreparedStatement preparedStatement=null;
        ResultSet resultSet=null;
        //jdbc步骤
        //1.加载驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建连接
            String url = "jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf-8";
            root = DriverManager.getConnection(url, "root", "2005");
           /* if(root!=null){
                System.out.println("连接成功");
            }*/

            //3.写sql
            String sql="SELECT * FROM user";
            //4.预编译sql
            preparedStatement = root.prepareStatement(sql);
            //5.执行sql
            resultSet = preparedStatement.executeQuery();
            //6.遍历结果
            while (resultSet.next()){
                int id = resultSet.getInt(1);
                String name= resultSet.getString(2);
                String pass = resultSet.getString(3);
                System.out.println(id+"----"+name+"----"+pass);
            }


        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //7.关闭资源  最后创建的最先关闭

            try {
                if(resultSet!=null){
                    resultSet.close();
                }
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (root!=null){
                    root.close();
                }

            } catch (SQLException e) {
                throw new RuntimeException(e);
            }


        }
    }

    private static void m2() {
        //键盘录入
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入要查询的用户名：");
        String name=scanner.nextLine();

        Connection root=null;
        PreparedStatement preparedStatement=null;
        ResultSet resultSet=null;
        //jdbc步骤
        //1.加载驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建连接
            String url = "jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf-8";
            root = DriverManager.getConnection(url, "root", "2005");
           /* if(root!=null){
                System.out.println("连接成功");
            }*/

            //3.写sql
            String sql="SELECT * FROM user where name like ?";




            //4.预编译sql
            preparedStatement = root.prepareStatement(sql);
            preparedStatement.setString(1,"%"+name+"%");
            //5.执行sql
            resultSet = preparedStatement.executeQuery();
            //6.遍历结果
            while (resultSet.next()){
                int id = resultSet.getInt(1);
                String username= resultSet.getString(2);
                String pass = resultSet.getString(3);
                System.out.println(id+"----"+username+"----"+pass);
            }


        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //7.关闭资源  最后创建的最先关闭

            try {
                if(resultSet!=null){
                    resultSet.close();
                }
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (root!=null){
                    root.close();
                }

            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
    }

    }
    //新增
    private static void m3() {
        Connection root=null;
        PreparedStatement preparedStatement=null;

        //jdbc步骤
        //1.加载驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建连接
            String url = "jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf-8";
            root = DriverManager.getConnection(url, "root", "2005");
           /* if(root!=null){
                System.out.println("连接成功");
            }*/

            //3.写sql
            String sql="insert into user(name,pass) values (?,?)";
            //4.预编译sql
            preparedStatement = root.prepareStatement(sql);
            //设置参数
            preparedStatement.setString(1,"小明");
            preparedStatement.setString(2,"123456");
            //5.执行sql
            int result=preparedStatement.executeUpdate();
            if(result>0){
                System.out.println("增加成功");
            }else{
                System.out.println("增加失败");
            }


        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //7.关闭资源  最后创建的最先关闭

            try {

                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (root!=null){
                    root.close();
                }

            } catch (SQLException e) {
                throw new RuntimeException(e);
            }


        }
    }
    private static void m4() {
        Connection root=null;
        PreparedStatement preparedStatement=null;

        //jdbc步骤
        //1.加载驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建连接
            String url = "jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf-8";
            root = DriverManager.getConnection(url, "root", "2005");
           /* if(root!=null){
                System.out.println("连接成功");
            }*/

            //3.写sql
            String sql="update user set name=?,passs=? where id=?";
            //4.预编译sql
            preparedStatement = root.prepareStatement(sql);
            //设置参数
            preparedStatement.setString(1,"wangwu");
            preparedStatement.setString(2,"888");
            preparedStatement.setObject(3,19);
            //5.执行sql
            int result=preparedStatement.executeUpdate();
            if(result>0){
                System.out.println("增加成功");
            }else{
                System.out.println("增加失败");
            }


        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //7.关闭资源  最后创建的最先关闭

            try {

                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (root!=null){
                    root.close();
                }

            } catch (SQLException e) {
                throw new RuntimeException(e);
            }


        }
    }
    private static void m5() {
        Connection root=null;
        PreparedStatement preparedStatement=null;

        //jdbc步骤
        //1.加载驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建连接
            String url = "jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf-8";
            root = DriverManager.getConnection(url, "root", "2005");
           /* if(root!=null){
                System.out.println("连接成功");
            }*/

            //3.写sql
            String sql="delete from user where  id=?";
            //4.预编译sql
            preparedStatement = root.prepareStatement(sql);
            //设置参数
            preparedStatement.setObject(1,1);
            //5.执行sql
            int result=preparedStatement.executeUpdate();
            if(result>0){
                System.out.println("删除成功");
            }else{
                System.out.println("删除失败");
            }


        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //7.关闭资源  最后创建的最先关闭

            try {

                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (root!=null){
                    root.close();
                }

            } catch (SQLException e) {
                throw new RuntimeException(e);
            }


        }
    }

}